---
title: Monitoring
hide_title: true
toc_max_heading_level: 5

---

import TierLabel from "./../_components/TierLabel";

# Monitoring <TierLabel tiers="Enterprise" />

Weave GitOps Enterprise provides the following telemetry to use for monitoring.

### Metrics

It generates [Prometheus](https://prometheus.io/) metrics for monitoring both performance and business operations.

#### Setup

:::info
This setup follows [Flux Monitoring](https://fluxcd.io/flux/monitoring/metrics/) approach based on [Prometheus Operator](https://prometheus-operator.dev/). Adapt it to your context as needed.
:::


1. Install [Kube Prometheus Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack).

<details>
<summary>Expand to see manifest contents</summary>

```yaml
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: weave-gitops-quickstart
  namespace: flux-system
spec:
  interval: 10m0s
  ref:
    branch: main
  url: https://github.com/weaveworks/weave-gitops-quickstart
---
apiVersion: v1
kind: Namespace
metadata:
  name: monitoring
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: kube-prometheus-stack
  namespace: flux-system
spec:
  interval: 10m0s
  sourceRef:
    kind: GitRepository
    name: weave-gitops-quickstart
  path: ./monitoring/kube-prometheus-stack
  prune: true
  targetNamespace: monitoring
  wait: true
```

</details>


2. Enable Prometheus Metrics Configuration happens during releasing as shown below.

<details>
<summary>Expand to see manifest contents</summary>

```yaml
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: weave-gitops-enterprise
  namespace: flux-system
spec:
  values:
    #### Metrics - Prometheus metrics configuration
    metrics:
      # Enables metrics generation and prometheus endpoint
      enabled: true
```

</details>

3. Deploy Weave GitOps Monitoring Config

<details>
<summary>Expand to see manifest contents</summary>

```yaml
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: monitoring-config
  namespace: flux-system
spec:
  interval: 10m0s
  sourceRef:
    kind: GitRepository
    name: weave-gitops-quickstart
  path: ./monitoring/weave-gitops
  dependsOn:
    - name: kube-prometheus-stack
  prune: true
  targetNamespace: monitoring
```

</details>

4. See the dashboards in Grafana

You could filter by tags `flux` or `weave-gitops`

![weave gitops dashboard list](imgs/monitoring-dashboard-list.png)

### Dashboards

**Weave Gitops Overview**

Monitor Weave Gitops golden signals for API server and Controllers:

![weave gitops dashboard list](imgs/monitoring-dashboard-overview.png)

**Weave Gitops Runtime**

Monitor Weave Gitops GO runtime metrics like Memory Usage, Memory Heap, Goroutines, etc ...

![weave gitops dashboard list](imgs/monitoring-dashboard-runtime.png)

**Explorer**

Monitor Explorer golden signals. More info [here](../../explorer/operations#monitoring)
